package cn.ibizlab.core.authentication.service;

import cn.ibizlab.core.authentication.domain.AuthUser;
import cn.ibizlab.core.open.domain.OpenAccess;
import cn.ibizlab.core.open.domain.OpenAccessAuth;

/**
 * 社交服务
 */
public interface SocialService {

    /**
     * 社交认证，获取认证地址
     * @param socialConfig
     * @return
     */
    String authorize(OpenAccess socialConfig);

    /**
     * 社交回调，获取已登录社交平台的用户信息
     * @param code
     * @param state
     * @return
     */
    OpenAccessAuth callback(OpenAccess socialConfig, String code, String state);

}
